package org.hismig.cfg;

import java.util.List;

/**
 * @declare: //TODO <br />
 *           This class created by Vansion.Hopihit on 2012-07-04 <br />
 *           <a href="mailto:vansionhopihit@gmail.com">Contact Me</a>
 * @version 1.0
 * @author Vansion.Hopihit
 * 
 */
public class DataBase {

	private String name;

	private DBData sourceDBData;
	private DBData distDBData;

	private ExtExecutor sourcePreExtExecutor;
	private ExtExecutor sourceAfterExtExecutor;
	private ExtExecutor distPreExtExecutor;
	private ExtExecutor distAfterExtExecutor;

	private List<ParamBuilder> paramBuilders;
	private List<Table> tables;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public DBData getSourceDBData() {
		return sourceDBData;
	}

	public void setSourceDBData(DBData sourceDBData) {
		this.sourceDBData = sourceDBData;
	}

	public DBData getDistDBData() {
		return distDBData;
	}

	public void setDistDBData(DBData distDBData) {
		this.distDBData = distDBData;
	}

	public ExtExecutor getSourcePreExtExecutor() {
		return sourcePreExtExecutor;
	}

	public void setSourcePreExtExecutor(ExtExecutor sourcePreExtExecutor) {
		this.sourcePreExtExecutor = sourcePreExtExecutor;
	}

	public ExtExecutor getSourceAfterExtExecutor() {
		return sourceAfterExtExecutor;
	}

	public void setSourceAfterExtExecutor(ExtExecutor sourceAfterExtExecutor) {
		this.sourceAfterExtExecutor = sourceAfterExtExecutor;
	}

	public ExtExecutor getDistPreExtExecutor() {
		return distPreExtExecutor;
	}

	public void setDistPreExtExecutor(ExtExecutor distPreExtExecutor) {
		this.distPreExtExecutor = distPreExtExecutor;
	}

	public ExtExecutor getDistAfterExtExecutor() {
		return distAfterExtExecutor;
	}

	public void setDistAfterExtExecutor(ExtExecutor distAfterExtExecutor) {
		this.distAfterExtExecutor = distAfterExtExecutor;
	}

	public List<Table> getTables() {
		return tables;
	}

	public void setTables(List<Table> tables) {
		this.tables = tables;
	}

	public List<ParamBuilder> getParamBuilders() {
		return paramBuilders;
	}

	public void setParamBuilders(List<ParamBuilder> paramBuilders) {
		this.paramBuilders = paramBuilders;
	}

	@Override
	public String toString() {
		return String.format("[DataBase:%s]", name);
	}
}
